package com.zhengxing.jienci.common.util;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
	
	/**
	 * 获取两个时间相差秒数
	 */
	public static long obtainSeconds(Date startDate, Date endDate) {
		long startTime = startDate.getTime();
		long endTime = endDate.getTime();
		return (endTime - startTime) / 1000;
	}
	
	/**
	 * 评论显示时间转译
	 */
	public static String showDateTime(Date startDate, Date endDate) {
		long seconds = obtainSeconds(startDate, endDate);
		if(seconds >= 60 * 60 * 24) {
			//如果超过一天，则显示日期
			return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(startDate);
		} else if(seconds >= 60 * 60) {
			//如果大于1小时，小于1天，则显示小时
			return String.valueOf(seconds / 3600) + "小时前";
		} else if(seconds >= 60) {
			//如果大于1分钟，小于1小时，则显示分钟
			return String.valueOf(seconds / 60)  + "分钟前";
		} else {
			//显示秒
			return String.valueOf((int)seconds) + "秒前";
		}
	}
	
	 /**
     * 获取当前时间的8位字符串
     * @return 返回时间字符串yyyy-MM-dd
     */
    public static String getNowDate() {
        SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        return time.format(date);
    }

    /**
     *
     * 获取当前时间（精确到分）的字符串
     * @return 返回时间字符串yyyy-MM-dd HH:mm
     */
    public static String getTheTimeInMinutes() {
        SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Date date = new Date();
        return time.format(date);
    }

    /**
     * 获取当前时间（精确到秒）的字符串
     * @return 返回时间字符串yyyy-MM-dd HH:mm:ss
     */
    public static String getTheTimeInSeconds() {
        SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        return time.format(date);
    }

    /**
     * 获取当前时间（精确到毫秒）的字符串
     * @return 返回时间字符串yyyy-MM-dd HH:mm:ss.SSS
     */
    public static String getTheTimeInMilliseconds() {
        SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        Date date = new Date();
        return time.format(date);
    }

}
